﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using SPOooON.SDK.Matrix;

namespace SPOooON.TileWorld.Model
{
    class Tile
    {
        public enum Neighbours
        {
            Left = 0,
            Top,
            Right,
            Bottom,
            TopLeft,
            TopRight,
            BottomRight,
            BottomLeft,
            Center
        }

        public enum Edges
        {
            Left = 0,
            Top,
            Right,
            Bottom
        }

        private Edge[] edges = new Edge[4];
        private Tile[] neighbours = new Tile[9];

        public Tile this[Neighbours neighbour]
        {
            get { return neighbours[(int)neighbour]; }
            set { neighbours[(int)neighbour] = value; }
        }

        public Edge this[Edges edge]
        {
            get { return edges[(int)edge]; }
            set { edges[(int)edge] = value; }
        }
    }
}
